CXX = g++
CPPFLAGS = -Wall -Iinclude -c -O2 -Wall -D_7ZIP_ST
#CPPFLAGS = -Wall -Iinclude -c -g -Wall -D_7ZIP_ST

OUTDIR = obj/



MPATH=$(realpath $(lastword $(MAKEFILE_LIST)))
NOTHING = 
SPACE = $(NOTHING) $(NOTHING)

OUTFILE = main

SRC = LzmaLib.c \
  Alloc.c \
  LzFind.c \
  LzmaDec.c \
  LzmaEnc.c \
  7zFile.c \
  7zStream.c 
  
OBJ = $(OUTDIR)$(subst $(SPACE), $(OUTDIR),$(SRC:.c=.o))

EXTERNAL = 

ABSOUT=$(MPATH:Makefile=)$(OUTDIR)

default:lib

lib:$(OBJ)
#Make an output directory:
	@mkdir -p lib
# Combine all object files into library file.
	@echo Combining all object files into library file lzma.a
	@ar rvs lib/lzma.a $(OUTDIR)*.o
	@echo LZMA-Library succesfully compiled. Files are in: $(ABSOUT)

all:$(OBJ)
	$(CXX) $(CPPFLAGS) -o $(OUTFILE) $(OBJ) $(EXTERNAL)
	
$(OUTDIR)%.o : %.c
	@mkdir -p $(OUTDIR)
	$(CXX) $(CPPFLAGS) -c $< -o $@

clean:
	$(RM) *.o *.gch
	$(RM) -rf lib
	$(RM) -rf $(OUTDIR)
